1. Field of the Invention
The present invention relates to error handling, and in particular, to error handling in a platform as a service (PaaS) environment.
2. Description of the Related Art
Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Cloud computing and software as a service (SaaS) concepts have been increasingly deployed. Extending these concepts is the concept of the platform as a service (PaaS). In general, the PaaS provides the underlying technology for developing and executing various types of SaaS. In a PaaS, the platform provider provides the building blocks for applications, and may also provide complete applications (for example, to cover common customer needs, to illustrate best practices, etc.) Third party developers then use the building blocks to modify existing applications or to create new applications to meet customer needs. A vibrant third party developer community contributes to the success of the platform.
Platforms are not without their drawbacks. The interactions between the building blocks must be configured rigorously. For example, the applications of Developer 1 will not only have to work properly with the platform itself, but also with those of Developer 2, as well as integrating with any other external systems allowed by the platform.
One area where the drawbacks are evident is with error handling. For each building block, the developer needs to configure it to work properly in the event of any of the possible types of errors resulting from any of the possible interactions with other building blocks. Depending upon the platform, this can be a time consuming task.
For example, consider the SAP Business ByDesign platform, which includes a Metadata Repository System (MDRS) and a Process Agent Framework (PAF). The MDRS stores metadata used by the platform. The PAF provisions a framework to support the communication via web-services based on entities, also referred to as Process Agents. One feature of PAF is the support of error handling during Process Agent processing. PAF has runtime and design time parts. The design time parts are mostly modeled in MDRS, but unfortunately the error handling part is not in MDRS, but is placed in a different storage. Thus, to implement a Process Agent the developer needs to model in MDRS and to code the runtime according to PAF rules. To configure the error handling, PAF provides design time tools for this.
In addition, if the building block uses processor determination, the developer needs to implement the processor determination logic in ABAP (Advanced Business Application Programming) code.